#include <iostream>
#include <queue>
#include <map>
#include <unordered_map>
#include <vector>
#include <algorithm>
#include <cmath>
#include <string>
#include <cstring>
#include <set>
#include <unordered_set>
using namespace std;
typedef long long ll;
typedef unsigned long long Ull;
typedef pair<int,int> PII;
const int INF=0x3f3f3f3f;
const int N=510;
int a[N][N];
int b[N][N];
int main()
{
	int n,m,k;
	cin>>n>>m>>k;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			cin>>a[i][j];
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			b[i][j]=b[i-1][j]+b[i][j-1]+a[i][j]-b[i-1][j-1];
		}
	}
	ll ans=0;
	for(int i=1;i<=m;i++)
	{
		for(int j=i;j<=m;j++)
		{
			int l=1;
			int r=l;
			while(r<=n)
			{
			
			if(b[r][j]-b[r][i-1]-b[l-1][j]+b[l-1][i-1]<=k)
			{
				ans+=r-l+1;
				r++;
			}
			else
			{
				while(l<=r && l<=n)
				{
					l++;
					if(b[r][j]-b[r][i-1]-b[l-1][j]+b[l-1][i-1]<=k)
					{
						ans+=r-l+1;
						break;
					}
				}
				r++;
			
			}
		    }
		    
		}
	
	}
	cout<<ans; 

	return 0;
}

